From: Jasper St. Pierre Date: Wed, 21 Aug 2013 19:54:58 +0000 (-0400) Subject: gnome-shell-plugin: Remove old code to detect crossing events X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~3657 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=8581e980e9b3f79b1102ae827e7a64fdb8df59a0;p=gnome-shell.git gnome-shell-plugin: Remove old code to detect crossing events Ever since we stopped reparenting status icon windows to the stage, tray icons haven't been inferiors and thus we don't have to filter out enter/leave events for them, as we never show them outside of a modal. https://bugzilla.gnome.org/show_bug.cgi?id=706536 --- diff --git a/src/gnome-shell-plugin.c b/src/gnome-shell-plugin.c index 6571b3923..32d5631db 100644 --- a/src/gnome-shell-plugin.c +++ b/src/gnome-shell-plugin.c @@ -320,38 +320,6 @@ gnome_shell_plugin_kill_switch_workspace (MetaPlugin *plugin) _shell_wm_kill_switch_workspace (get_shell_wm()); } -static gboolean -ignore_crossing_event (MetaPlugin *plugin, - XIEnterEvent *enter_event) -{ - MetaScreen *screen = meta_plugin_get_screen (plugin); - ClutterStage *stage = CLUTTER_STAGE (meta_get_stage_for_screen (screen)); - - if (enter_event->event == clutter_x11_get_stage_window (stage)) - { - /* If the pointer enters a child of the stage window (eg, a - * trayicon), we want to consider it to still be in the stage, - * so don't let Clutter see the event. - */ - if (enter_event->detail == XINotifyInferior) - return TRUE; - - /* If the pointer is grabbed by a window it is not currently in, - * filter that out as well. In particular, if a trayicon grabs - * the pointer after a click on its label, we don't want to hide - * the message tray. Filtering out this event will leave Clutter - * out of sync, but that happens fairly often with grabs, and we - * can work around it. (Eg, shell_global_sync_pointer().) - */ - if (enter_event->mode == XINotifyGrab && - (enter_event->detail == XINotifyNonlinear || - enter_event->detail == XINotifyNonlinearVirtual)) - return TRUE; - } - - return FALSE; -} - static gboolean gnome_shell_plugin_xevent_filter (MetaPlugin *plugin, XEvent *xev) @@ -377,18 +345,6 @@ gnome_shell_plugin_xevent_filter (MetaPlugin *plugin, } #endif - /* Make sure that Clutter doesn't see certain focus change events, - * so that when we're moving into something like a tray icon, we - * don't unfocus the container. */ - if (xev->type == GenericEvent && - xev->xcookie.extension == meta_display_get_xinput_opcode (display)) - { - XIEvent *input_event = (XIEvent *) xev->xcookie.data; - if ((input_event->evtype == XI_Enter || input_event->evtype == XI_Leave) && - ignore_crossing_event (plugin, (XIEnterEvent *) input_event)) - return TRUE; - } - /* * Pass the event to shell-global */